home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr26 / netprog.zip / README < prev   
Text File  |  1993-05-11  |  6KB  |  144 lines

  1.     This directory tree comprises the source code from
  2. the book "UNIX Network Programming" by W. Richard Stevens,
  3. published by Prentice Hall, 1990.
  4.  
  5. ---------------------------------------------------------------------
  6.     LIMITS OF LIABILITY AND DISCLAIMER OF WARRANTY
  7.  
  8. The author and publisher of the book "UNIX Network Programming"
  9. have used their best efforts in preparing this software.
  10. These efforts include the development, research, and testing
  11. of the theories and programs to determine their effectiveness.
  12. The author and publisher make no warranty of any kind, express
  13. or implied, with regard to these programs or the documentation
  14. contained in the book. The author and publisher shall not be
  15. liable in any event for incidental or consequential damages in
  16. connection with, or arising out of, the furnishing, performance,
  17. or use of these programs.
  18. ---------------------------------------------------------------------
  19.  
  20.     As stated in the Preface of the book, the source code was
  21. tested under 4.3BSD on a VAX and AT&T's System V/386 Release 3.2
  22. on a Compaq 386/20.  There may be some comments and Makefile rules
  23. for Xenix since I started porting some of the software to Xenix.
  24. However, I found the existing Xenix socket libraries so poor that
  25. I never finished.
  26.  
  27.     To start, check the files "systype.sh" and "systype.h"
  28. in either the "lib" or "lib.s5" directory.  These may have to
  29. be modified for your system.  Next, do a "make" in either of
  30. these directories to make the library "libnet.a".  This library
  31. is required to make most of the other programs (minimally because
  32. the error functions - err_XXX() - are in this library and these
  33. error functions are used by almost every program).
  34.  
  35.     Note that there are a lot of links between files in
  36. different directories.  For example, the directories "fd" and "fd.s5"
  37. both use the same Makefile and main programs.  Only the files
  38. "sendfile.c" and "recvfile.c" in these directories are different
  39. between 4.3BSD and System V.
  40.  
  41.     The directories are as follows:
  42.  
  43. asyncio        The asynchronous I/O example from Section 6.12.
  44.  
  45. fd        The file descriptor passing example for 4.3BSD from
  46.         Section 6.10.
  47.  
  48. fd.s5        The file descriptor passing example for System V
  49.         from Section 7.10.
  50.  
  51. inettime    The Internet time and daytime clients from Section 10.2.
  52.  
  53. ipc        The IPC examples from Chapter 3.
  54.  
  55. lib        The library of common functions for 4.3BSD.  These functions
  56.         come from all over the book.  Specifically:
  57.  
  58.     lib/daemon.c        daemon_start() function - Sec. 2.6.
  59.     lib/dgsendrecv.c    Reliable message send/receive - Sec. 8.4.
  60.     lib/error.c        Error handling - Appendix A.3.
  61.     lib/hosterror.c        Sec. A.3.
  62.     lib/idpopen.c        Sec. 8.3.
  63.     lib/lock.c        Lock functions for lpr/seqno.c - Sec. 13.3.
  64.     lib/netdefs.h        Used by lib/XXXopen.c and tftp/netXXX.c.
  65.     lib/nspipe.c        Named stream pipe function - Sec. 6.9.
  66.     lib/pty.c        Pseudo tty routines - Sec. 15.4.
  67.     lib/readline.c        Sec. 6.6.
  68.     lib/readn.c        Sec. 6.6.
  69.     lib/rresvport.c        (Not in book; needed for WIN/TCP)
  70.     lib/rtt.c        Round-trip timing functions - Sec. 8.4.
  71.     lib/sigchild.c        daemon_start() SIGCLD handler - Sec. 2.6.
  72.     lib/spipe.c        Stream pipe function - Sec. 6.9.
  73.     lib/sppopen.c        Sec. 8.3.
  74.     lib/tcpopen.c        Sec. 8.3.
  75.     lib/timer.c        Timing functions used in TFTP - App. A.4.
  76.     lib/ttymode.c        Copy terminal mode - Sec. 15.5.
  77.     lib/ttyraw.c        Set terminal raw mode - Sec. 15.5.
  78.     lib/udpopen.c        Sec. 8.3.
  79.     lib/writen.c        Sec. 6.6.
  80.  
  81. lib.s5        The library of common functions for System V.
  82.         See the list above for the "lib" directory.  The differences
  83.         are: idpopen.c, sppopen.c, and sigchild.c aren't in "lib.s5"
  84.         and "lib.s5" contains semaph.c (the simpler semaphore
  85.         operations - Sec. 3.10).
  86.  
  87. lock        The record locking and file locking functions from
  88.         Section 3.2.
  89.  
  90. lpr        The 4.3BSD line printer client - Section 13.3.
  91.  
  92. net        The simple client-server examples from Section 6.6.
  93.         Also the socket option example from Section 6.11 and
  94.         the host entry example from Section 8.2.
  95.  
  96. net.s5        The simple client-server examples from Section 7.6.
  97.         Also contains a program to print all the stream modules
  98.         on a given stream, and a program to print all the
  99.         TLI "struct t_info" values for your implementation.
  100.  
  101. nspipe.s5    The named stream pipe example from Section 7.9.
  102.  
  103. ping        The 4.3BSD Internet ping program from Section 11.2.
  104.  
  105. rcmd        The rcmd() function and its rshd server from
  106.         Section 14.3.  Also the ruserok() function from
  107.         Section 9.2.
  108.  
  109. record        The recording example from Sections 15.3 - 15.6.
  110.  
  111. record.s5    The System V version of the recording example.
  112.  
  113. reliable    The reliable message client and server from Section 8.4.
  114.  
  115. rlogin        The 4.3BSD rlogin client and rlogind server from
  116.         Sections 15.11 and 15.12.
  117.  
  118. rmt        The remote tape server from Section 16.4.
  119.  
  120. rpc.courier/timedate    The Xerox Courier RPC example from Section 18.4.
  121.             Note that the Makefile will certainly have to be
  122.             modified, depending where you have installed the
  123.             Courier compiler, library, and include files.
  124.  
  125. rpc.sun/timedate    The Sun RPC example from Section 18.3.
  126.             Note that the Makefile will certainly have to be
  127.             modified, depending where you have installed the
  128.             Sun RPC compiler and library.
  129.  
  130. select        The higher precision timer, using the select system
  131.         call, from Section 6.13.
  132.  
  133. tftp        The TFTP client and server from Chapter 12.
  134.  
  135. xnsecho        The XNS IDP echo client from Section 11.3.
  136.  
  137.     Please send me any bug fixes, comments, suggestions, etc.
  138.  
  139.         Richard Stevens
  140.         Health Systems International, New Haven, CT
  141.            stevens@hsi.com
  142.                ... { uunet | yale } ! hsi ! stevens
  143. 
  144.